Skip to main content

certbot 使用 dns-cloudflare 插件申请 ssl 证书

注意:使用 dns-cloudflare 验证域名申请证书需要先将域名托管到 cloudflare

1. 安装 certbotdns-cloudflare

python3 -m pip install certbot
python3 -m pip install certbot-dns-cloudflare

certbot 的可执行文件路径为:/usr/local/bin/certbot

2. 登录 cloudflare 账户,添加用于 certbot 验证的令牌

3. 创建 dns-cloudflare 配置文件并赋予 600 权限

mkdir -pv ~/.secrets/certbot
echo "dns_cloudflare_api_token = token-xxxxx" > ~/.secrets/certbot/cloudflare.ini
chmod 600 ~/.secrets/certbot/cloudflare.ini

dns_cloudflare_api_token = token-xxxxx token-xxxxx 为第二步中令牌的密钥。

4. 使用 certbot 通过 dns-cloudflare 插件申请 ssl 证书

/usr/local/bin/certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini --agree-tos --register-unsafely-without-email -d a.bcd.com

如果提示 AttributeError: module 'lib' has no attribute 'X509_V_FLAG_NOTIFY_POLICY' ,请执行以下命令再申请证书:

apt-get remove python3-openssl
python3 -m pip install pyOpenSSL

参考内容:https://certbot-dns-cloudflare.readthedocs.io/en/stable/#certbot-cloudflare-token-ini
certbot certonly --nginx --agree-tos --register-unsafely-without-email -d azreg.feve.top